1. Field of the Invention
The present invention relates to the field of use of teleconferencing systems. More particularly, the present invention relates to the dynamic launching of teleconferencing applications upon receipt of a call.
2. Description of Related Art
Teleconferencing is increasingly becoming a popular application in personal computer systems. Such applications typically allow the transfer of audio and video data between users so that they can speak and otherwise communicate with one another. Such applications sometimes also include data sharing wherein various types of data such as documents, spreadsheets, graphic data, or other types of data, can be shared and manipulated by all participants in the teleconference. Different teleconference applications perhaps residing on different hardware platforms have different capabilities. Moreover, a wide variety of features has been implemented in different teleconference applications, and the proliferation of different types of computer systems with different capacities, and different networking media has created challenges for teleconferencing.
For example, most systems which are used for teleconferencing applications are also used to run such programs for performing work processing, spreadsheet applications, database applications, and a variety of other application. Thus, the resources contained in the computer system are shared between these multiple applications. Often, most computer systems are limited in the amount of random access memory they contain and also the amount of processing power available for performing operations. In order for a user to receive calls, the user must keep the conferencing application open. Otherwise, if the called party does not have the conferencing application open, the calling party would receive a notice that the called party is not present to answer the call.
So, in order to receive a call, a user currently needs to keep any conferencing application open. However, keeping the conferencing application open is a waste of resources. Memory which is allocated to the conferencing application could be used for other applications. Also, processing resources are consumed in launching and maintaining the conferencing application. These resources are unnecessarily preoccupied for the times when there are no teleconferencing sessions in occurrence. A user can wait until he wishes to initiate a teleconferencing session before launching the teleconferencing application, but this means that there is not call notification unless the user receives a xe2x80x9cregularxe2x80x9d phone call, which does not allow for on-demand conferencing.
Thus, a solution needs to be provided that will allow a system to dynamically load the conferencing application only when necessary to answer a call, but not require the conferencing application to be loaded and executing to receive notice of an incoming call.
In addition, a solution should be provided that will allow a conferencing application to wait on incoming calls on various ports simultaneously, thereby allowing a conferencing application which can handle conferencing over several different network/conferencing protocols and/or interfaces to achieve parallel conferencing capabilities (i.e., answering multiple calls, each coming in on a different network protocol or a different conferencing interface).
Moreover, a solution needs to be provided for multiple conferencing applications, each compatible with a different set of network/conferencing protocols, to be able to listen for incoming calls at the same time.
The invention provides a method and apparatus for listening on multiple network/conferencing protocols and/or interfaces. In addition, multiple persistent listening for multiple ports can exist for multiple conferencing applications (i.e., one persistent listen to one conferencing application) AND for a single conferencing application (i.e., multiple persistent listen to one conferencing application). Thus, for example a conferencing application can listen for incoming calls on both a TCP/IP port or an AppleTalk(trademark) port.
The invention can be implemented in a computer system having a memory, a processor, and a network interface, a method for dynamically launching a conferencing application upon the receipt of an incoming call comprising the steps of loading a set of transport components into the memory; initializing each transport components of the set of transport components to listen on a particular conferencing interface using the network interface, each transport component of the set of transport components listening to a different conferencing interface; receiving an incoming call signal on the network interface having an incoming conferencing interface; processing the incoming call signal to detect the incoming conferencing interface; and launching an application based on the incoming conferencing interface.
An apparatus including a set of transport components coupled to the network interface, each transport component of the set of transport components having the capability of receiving a signal on a different conferencing interface; a conference component coupled to each component in the set of transport components; a call processing module coupled to the conference component; and, a process manager coupled to the call processing module; the conference component containing a circuit for causing the call processing module to cause process manager to activate a conferencing application upon detecting a call from one transport component of the set of transport components.
The invention will allow a system to dynamically load a conferencing application only when necessary to answer a call, but not require the conferencing application to be loaded and executing to receive notice of an incoming call. In addition, different conferencing applications can also be xe2x80x9cdynamicallyxe2x80x9d launched when incoming calls corresponding to each different conferencing applications arrive.
Other objects, features and advantages of the invention will be apparent from the accompanying drawings, and from the detailed description that follows below.